package com.apps.sworld.script;

import com.apps.sworld.sScript;

/**
 * 订单对象的脚本事件接口
 * @param <T>
 */
public interface sOrderScript<T> extends sScript<T> {

    /**
     * 付款之前
     * @param t
     */
    default void payOrder(T t){}

    /**
     * 付款完毕事件
     * @param t
     */
    default void payOrdered(T t){}

    /**
     * 订单发货
     * @param t
     */
    default void sendOder(T t){}

    /**
     * 订单发货完毕
     * @param t
     */
    default void sendOrdered(T t){}

    /**
     * 确认收货
     * @param t
     */
    default void confirmOrder(T t){}

    /**
     * 确认收货完毕
     * @param t
     */
    default void confirmOrdered(T t){}

    /**
     * 评论订单
     * @param t
     */
    default void appraiseOrder(T t){}

    /**
     * 评论订单完毕
     * @param t
     */
    default void appraiseOrdered(T t){}

    /**
     * 退货
     * @param t
     */
    default void returnOrder(T t){}

    /**
     * 申请退货完毕
     * @param t
     */
    default void returnOrdered(T t){}


}
